package com.xydtech.ecard.ecard.mapper;

import com.xydtech.ecard.ecard.domain.EcardApiMerchantPartInfo;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 电子名片商户成员Mapper接口
 *
 * @author xydtech
 * @date 2023-07-25
 */
public interface EcardApiMerchantPartInfoMapper {
    /**
     * 查询电子名片个人/商户/企业/新型农业主体成员列表
     *
     * @param ecardMerchantPartInfo 电子名片商户成员
     * @return 电子名片商户成员集合
     */
    public List<EcardApiMerchantPartInfo> selectEcardMerchantPartInfoList(EcardApiMerchantPartInfo ecardMerchantPartInfo);
    /**
     * 查询电子名片个人/商户/企业/新型农业主体成员
     *
     * @param id 电子名片商户成员主键
     * @return 电子名片商户成员
     */
    public EcardApiMerchantPartInfo selectEcardMerchantPartInfoById(Long id);

    /**
     * 查询电子名片商户成员
     * @param id
     * @param creatorId
     * @return
     */
    public EcardApiMerchantPartInfo selectEcardMerchantPartInfoByIdAndCreatorId(@Param("id") Long id,@Param("creatorId") Long creatorId);

    /**
     * 查询电子名片个人/商户/企业/新型农业主体成员列表
     *
     * @param merchantId 电子名片商户ID
     * @return 电子名片商户成员集合
     */
    public List<EcardApiMerchantPartInfo> getMerchantPartList(@Param("merchantId") Long merchantId,
                                                              @Param("merchantType") String merchantType,
                                                              @Param("deptId") Long deptId);

    /**
     * 新增电子名片个人/商户/企业/新型农业主体成员
     *
     * @param ecardMerchantPartInfo 电子名片商户成员
     * @return 结果
     */
    public int addMerchantPartInfo(EcardApiMerchantPartInfo ecardMerchantPartInfo);

    /**
     * 删除电子名片个人/商户/企业/新型农业主体成员信息
     *
     * @param id 电子名片商户成员主键
     * @return 结果
     */
    public int deleteEcardMerchantPartInfoById(Long id);

    /**
     * 修改个人/商户/企业/新型农业主体成员联系人接口
     *
     * @author yjs
     * @date 2023/9/13 14:22
     */
    public int modifyMerchantContacts(@Param("id") Long id, @Param("merchantId") Long merchantId, @Param("merchantType") String merchantType);
}
